
#ifndef TestAST_h
#define TestAST_h
// Note 1
#include <cppunit/extensions/HelperMacros.h>
class ASTTest : public CPPUNIT_NS::TestFixture // Note 2
{
	CPPUNIT_TEST_SUITE( ASTTest ); // Note 3
	CPPUNIT_TEST( testConstructor );
	CPPUNIT_TEST( testCreateNodeWithTypeOnly );
	CPPUNIT_TEST( testCreateNodeWithTypeAndContent );
	CPPUNIT_TEST( testSetRoot );
	CPPUNIT_TEST( testGetRoot );
	CPPUNIT_TEST( testLinkNodes );
	CPPUNIT_TEST( testMatchesNodeType );
	CPPUNIT_TEST( testGetContentStoredIn );
	CPPUNIT_TEST_SUITE_END();
public:
	void setUp();
	void tearDown();
	// method to test the constructor
	void testConstructor();
	// method to test the assigning and retrieval of grades
	void testCreateNodeWithTypeOnly();
	void testCreateNodeWithTypeAndContent();
	void testSetRoot();
	void testGetRoot();
	void testLinkNodes();
	void testMatchesNodeType();
	void testGetContentStoredIn();
};
#endif